Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Bookmarklet
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Un mwbqbookmarklet è un piccolo programma mwbgJavaScript che può essere memorizzato come un normale mwbwURL all'interno dei mwcasegnalibri (mwcqbookmark in inglese) nei mwcgbrowser web più popolari, o all'interno dei mwcwcollegamenti ipertestuali di una pagina web. I bookmarklet sono anche detti mwdafavlets o mwdqfavelets per via del fatto che mwdgInternet Explorer utilizza il termine "Favorites" ("preferiti" in italiano) per indicare appunto i segnalibri.

Lo scopo dei mweabookmarklet è di poter dare agli utilizzatori un metodo pratico ed immediato per eseguire una determinata operazione (ad esempio utilizzare un servizio web, o svolgere una specifica operazione sulla pagina che si sta visitando); l'operazione effettuata normalmente è legata al sito che rilascia il mweqbookmarklet, ed è una semplice scorciatoia per utilizzare i servizi web offerti dal sito che ha sviluppato il bookmarklet.

Contents

Esempi
Storia

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Concetti

Il browser usa gli mwfaURI per i segnalibri e l'attributo mwfqhref di un tag mwfgmwfw<Amwga>. La prima parte dell'URI (mwgqhttp:, mwggfile: o mwgwftp:) specifica il tipo di servizio e la forma per il resto della stringa. Tuttavia i browser implementano un prefisso mwhajavascript: che per il mwhqparser è semplicemente come un qualsiasi altro URI. Internamente il browser identifica il protocollo JavaScript e, invece di utilizzare il resto della stringa per prendere la pagina da caricare, esegue la stringa come un programma e usa la stringa risultante come nuova pagina da aprire.

Lo script eseguito ha accesso alla pagina e può leggerla e modificarla. Se l'operazione ritorna un mwhwtipo indefinito piuttosto che una stringa, non viene caricata nessuna nuova pagina e il solo effetto è quello di eseguire il codice sulla pagina.

Esempi

Quando viene utilizzata come destinazione di un segnalibro, la stringa seguente (i ritorni a capo sono stati aggiunti per facilitarne la lettura) esegue una ricerca su mwigit.wikipedia.org del testo selezionata nel browser o, qualora non ci sia selezionato nulla, mostrerà una maschera dove inserire un testo da ricercare. Questo bookmarklet funziona in mwiwFirefox e mwjaKonqueror:

javascript:(function(){
q=document.getSelection();
if(!q) q=prompt('Wikipedia:');
if(q) location.href='http://it.wikipedia.org/w/wiki.phtml?search=' + escape(q);
})()

Questa versione funziona sul browser mwvgSafari:

javascript:void(
q=prompt('Wikipedia:',getSelection()));
if(q) void(location.href='http://it.wikipedia.org/w/wiki.phtml?search=' + escape(q))

Questa versione funziona su mwfaWindows Internet Explorer:

javascript:(function(){
q= document.selection.createRange().text;
if(!q) q=prompt('Wikipedia:','');
if(q) location.href='http://it.wikipedia.org/w/wiki.phtml?search=' + escape(q);})()

Il prossimo esempio illustra una modifica radicale al mwswlayout di questa pagina e funziona aggiungendo un mwtafoglio di stile integrato che imposta il margine destro al 45%:

javascript:(function(){
var newSS, styles='body { margin-left:0%; margin-right:45%;}';
if(document.createStyleSheet) {
document.createStyleSheet(%22javascript:'%22+styles+%22'%22);
} else {
newSS=document.createElement('link');
newSS.rel='stylesheet';
newSS.href='data:text/css,' + escape(styles);
document.getElementsByTagName(%22head%22)[0].appendChild(newSS);
}
}
)()

L'esempio successivo prende tutte le immagini della pagina corrente e le sposta intorno alla pagina:

javascript:
R=0;
x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6;
y3=.24; x4=300; y4=200; x5=300; y5=200;
DI=document.images;
DIL=DI.length;
function A(){
for(i=0; i-DIL; i++){
DIS=DI[ i ].style;
DIS.position='absolute';
DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;
DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5
}
R++
}
setInterval('A()',5);
void(0);

Storia

Il termine mwadybookmarklet è stato coniato da Steve Kangas di mwadcwww.bookmarklets.com che ha iniziato a crearli partendo da un'idea suggerita nella Guida al JavaScript della mwadgNetscape Communications Corporation. Il termine mwadkfavelet è stato usato da Tantek Çelik in una mwadse-mail personale del 6 settembre mwadw2001. mwad0Brendan Eich, uno degli sviluppatori di JavaScript in Netscape, ha dato questa definizione della sua invenzione degli URL mwad4javascript::

«Furono una caratteristica voluta in questo senso: ho inventato l'URL

javascript:

insieme al JavaScript, nel

1995

, e progettato che gli URL

javascript:

potessero essere usati come ogni altro tipo di URL, incluso essere memorizzati come segnalibri.

In particolare ho reso possibile generare un nuovo documento caricando, per esempio, javascript:'hello, world' ma anche (la chiave per i bookmarklet) per eseguire script arbitrari nel DOM del documento corrente, per esempio javascript:alert(document.links[0].href). La differenza è che quest'ultimo tipo di URL usa un'espressione che viene valutata in un tipo indefinito in JS. Ho aggiunto l'operatore void in JS prima che Netscape 2 venisse pubblicato per rendere più facile scartare ogni valore non definito in un URL javascript:»